| Satellite | Years | Spat. Res. | Temp. Res. | Tot. Img |
|---|---|---|---|---|
| Landsat 5 (TM) | 1993-2001; 2004-2011 | 30m | 16 days | 34 |
| Landsat 7 (ETM+) | 2002 | 30m | 16 days | 2 |
| Landsat 8 OLI | 2014-2016 | 30m | 16 days | 6 |
| Sentinel-2 (MSI) | 2017-2020 | 20m | 5 days | 8 |
A Reproducible Method for Monitoring Flooded Archaeological Sites
University of Turin
How can we identify which sites have been affected by water level fluctuations?
What are the effects of prolonged submersion of these sites?
How can we document, monitor, safeguard and plan rescue operations?
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
The process required to answer the research questions is theoretically simple:
1 2 3 4
Density Slicing
Tasselated Cap Transformation
1 2 3 4
\(Index= \frac{Band1 - Band2}{Band1 + Band2}\)
1 2 3 4
\(NDWI_{McFeeters}= \frac{Green - NIR}{Green + NIR}\)
\(NDWI_{xu}= \frac{Green - SWIR}{Green + SWIR}\)
Result
1 2 3 4
\(NDWI_{McFeeters}= \frac{Green - NIR}{Green + NIR}\)
\(NDWI_{xu}= \frac{Green - SWIR}{Green + SWIR}\)
Result
1 2 3 4
\(NDWI_{xu}= \frac{Green - SWIR}{Green + SWIR}\)
Advantages
1 2 3 4
1 2 3 4
| Satellite | Years | Spat. Res. | Temp. Res. | Tot. Img |
|---|---|---|---|---|
| Landsat 5 (TM) | 1993-2001; 2004-2011 | 30m | 16 days | 34 |
| Landsat 7 (ETM+) | 2002 | 30m | 16 days | 2 |
| Landsat 8 OLI | 2014-2016 | 30m | 16 days | 6 |
| Sentinel-2 (MSI) | 2017-2020 | 20m | 5 days | 8 |
| Satellite | Years | Spat. Res. | Temp. Res. | Tot. Img |
|---|---|---|---|---|
| Landsat 5 (TM) | 2000-2011 | 30m | 16 days | 24 |
| Landsat 8 OLI | 2014-2016 | 30m | 16 days | 10 |
| Sentinel-2 (MSI) | 2017-2020 | 20m | 5 days | 12 |
1 2 3 4
1 2 3 4
1 2 3 4
| Date l.w.l. | Date h.w.l. | Max. Water Level | Min Water Level |
|---|---|---|---|
| 2002-11 | 2002-07 | 314,443 | 327,871 |
| 2007-09 | 2007-07 | 313,142 | 318,879 |
| 2018-01 | 2018-06 | 292,862 | 311,833 |
1 2 3 4
1 2 3 4
\(Land < 0 > Water\)
1 2 3 4
QGIS Plugin (ArcGIS version with the same name)
Counts the number of unique pixels inside each polygon area
Output: Shapefile with the counts as column in the attribute table
Limitations:
1 2 3 4
1 2 3 4
\[Land < 0 > Water\] \[Land < 0.05 > Water\]
Obviously we need a qualitative measurement of the capabilities and results of our choices
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
| Satellite Images | Overall Accuracy | Producer’s Accuracy | User’s Accuracy |
|---|---|---|---|
| Landsat 5 | 98.01% | 98.63% | 94.74% |
| Landsat 7 | 98.59% | 100% | 95.22% |
| Landsat 8 | 98.36% | 99.24% | 95.08% |
| Sentinel-2 | 98.36% | 99.24% | 94.99% |
| Satellite Images | Overall Accuracy | Producer’s Accuracy | User’s Accuracy |
|---|---|---|---|
| Landsat 5 | 98.74% | 98.57% | 97.18% |
| Landsat 8 | 98.31% | 98.48% | 95.59% |
| Sentinel-2 | 99.16% | 98.57% | 98.57% |
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
The number of exposed sites peaked in 2010-2011 and 2015-2018, when more than 75 per cent of the sites resurfaced.
1 2 3 4
During years with similar water levels a similar number of sites emerge - Very useful for prevention and planning activities.
1 2 3 4
1 2 3 4
1 2 3 4
The high quality dataset and long-term analysis allow individual sites to be investigated if necessary
1 2 3 4
“Tools that do not facilitate well-documented, transparent, portable and reproducible data analysis workflows may, at best, result in irreproducible, unextendable research that does little to advance the discipline” (Marwick 2017).
1 2 3 4
1 2 3 4
yearmap <- function(m){
start <- ee$Date(m)
end <- ee$Date(m)$advance(1,"month") # take one image per month
date_range <- ee$DateRange(start,end) # until the end of the specified period
name <- area$cat(start$format("YYYY-MM"))$cat(sensor) # create image (file) name
ImgYear <- BaseColl$
filterDate(date_range)$ # filter for the selected date above
filterBounds(study_region)$ # only inside the study region
filter(cloud_filter)$ # Pre-filter to get less cloudy granules.
map(cloudfunction)$ # apply the cloudmasking function
map(getNDWI)$ # apply the function and get the NDWI band
map(function(img){return(img$clip(study_region))}) # clip the images on the study region
return(ImgYear$median()$set("name",name)) # take the median
}var S2monthmap = function(m){
var start = ee.Date(m);
var end = ee.Date(m).advance(1,'month'); // take one image per month
var date_range = ee.DateRange(start,end); // until the end of the specified period
var name = area.cat(start.format('YYYY-MM')).cat(sensor); // create image (file) name
var ImgMonth = BaseColl
.filterDate(date_range) // filter for the selected date above
.filterBounds(study_region) // only inside the study region
.filter(cloud_filter) // pre-filter to get less cloudy granules.
.map(cloudfunction) // apply the cloudmasking function
.map(getNDWI) // apply the function and get the NDWI band
.map(function(img){return img.clip(study_region)}); // clip the images on the study region
return(ImgMonth.median().set({name: name})); // take the median
};1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
Advantages
Disadvantages
1 2 3 4
Andrea Titolo (andrea.titolo@unito.it)